Crate pnet_transport [] [src]

Support for implementing transport layer protocols

The transport module provides the ability to send and receive packets at the transport layer using IPv4 or IPv6. It also enables layer 3 networking for specific transport protocols, using IPv4 only.

Note that this is limited by operating system support - for example, on OS X and FreeBSD, it is impossible to implement protocols which are already implemented in the kernel such as TCP and UDP.

Macros

transport_channel_iterator

Create an iterator for some packet type.

Structs

IcmpTransportChannelIterator

An iterator over packets of type $ty

Icmpv6TransportChannelIterator

An iterator over packets of type $ty

Ipv4TransportChannelIterator

An iterator over packets of type $ty

TcpTransportChannelIterator

An iterator over packets of type $ty

TransportReceiver

Structure used for receiving at the transport layer. Should be created with transport_channel()

TransportSender

Structure used for sending at the transport layer. Should be created with transport_channel()

UdpTransportChannelIterator

An iterator over packets of type $ty

Enums

TransportChannelType

Type of transport channel to present

TransportProtocol

Represents a transport layer protocol

Functions

icmp_packet_iter

Return a packet iterator with packets of type $ty for some transport receiver

icmpv6_packet_iter

Return a packet iterator with packets of type $ty for some transport receiver

ipv4_packet_iter

Return a packet iterator with packets of type $ty for some transport receiver

tcp_packet_iter

Return a packet iterator with packets of type $ty for some transport receiver

transport_channel

Create a new (TransportSender, TransportReceiver) pair

udp_packet_iter

Return a packet iterator with packets of type $ty for some transport receiver